.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH CSDP 1 "April  11, 2009"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
csdp \- semidefinite program solver
.SH SYNOPSIS
.B csdp
.RI < problemfile > " " < finalsolution > " " < initialsolution >
.br
.B csdp-complement
.RI < inputgraph > " " < outputgraph > 
.br
.B csdp-graphtoprob
.RI < graph > " " < problemfile > 
.br
.B csdp-randgraph
.RI < rand_graph > " " < file > " " < n > " " < p > " " [< seed >]
.br
.B csdp-theta
.RI < graph >
.br
.SH DESCRIPTION
This manual page documents briefly the
.B csdp,
.B csdp-complement,
.B csdp-graphtoprob,
.B csdp-randgraph
and
.B csdp-theta
commands.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
.\" respectively.
\fBcsdp\fP -- interface to solve general semi-definite programs
.br
\fBcsdp-complement\fP -- compute the complement of a graph and output it in csdp problem format
.br
\fBcsdp-graphtoprob\fP -- convert graph into csdp problem format file
.br
\fBcsdp-randgraph\fP -- generate a random graph
.br
\fBcsdp-theta\fP -- solves the Lovasz thetha problem
.SH OPTIONS
A summary of options is included below.
For a complete description, see 
.B /usr/share/doc/coinor-csdp-doc/csdpuser.pdf.
.TP
.B csdp
.br
.B inputproblem
in the SDPA sparse format
.TP
.B problemfile
is the name of a file containing the SDP problem in SDPA sparse format
.TP
.B finalsolution
is the optional name of a file in which to save the final solution
.TP
.B initialsolution
is the optional name of a file from which to take the initial solution.
.PP
CSDP searches for a file named 
.B param.csdp
in the current directory. If
no such file exists, then default values for all of CSDP’s parameters are used. If
there is a parameter file, then CSDP reads the parameter values from this file.
The default parameter values is given below (can be pasted into a file):
.PP
axtol=1.0e-8
.br
atytol=1.0e-8
.br
objtol=1.0e-8
.br
pinftol=1.0e8
.br
dinftol=1.0e8
.br
maxiter=100
.br
minstepfrac=0.90
.br
maxstepfrac=0.97
.br
minstepp=1.0e-8
.br
minstepd=1.0e-8
.br
usexzgap=1
.br
tweakgap=0
.br
affine=0
.br
printlevel=1
.br
perturbobj=1
.br
fastmode=0
.PP
.B param.csdp file parameter description
.TP
.B axtol
.B atytol
.B objtol
tolerances for primal feasibility, dual feasibility, and relative duality gap
.TP
.B pinftol
.B dinftol
tolerances used in determining primal and dual infeasibility
.TP
.B maxiter
plimit the total number of iterations that CSDP may use
.TP
.B minstepfrac
.B maxstepfrac
determine how close to the edge of the feasible region CSDP will step. If the primal or dual step is
shorter than minstepp or minstepd, then CSDP declares a line search failure.
.B usexzgap 
If parameter 0, then CSDP will use the objective function duality
gap instead of the tr(XZ) gap
.TP
.B tweakgap
if set to 1, and usexzgap is set to 0, then CSDP will attempt to "fix" negative duality gaps.
.TP
.B affine
If parameter affine
is set to 1, then CSDP will take only primal–dual affine steps and not make
use of the barrier term. This can be useful for some problems that do not have
feasible solutions that are strictly in the interior of the cone of semidefinite ma-
trices.
.B printlevel
determines how much debugging information is output. Use printlevel=0 for no
output and printlevel=1 for normal output.
Higher values of printlevel will generate more debugging output.
.TP
.B perturbobj
determines whether the objective function will be perturbed
to help deal with problems that have unbounded optimal solution sets. If per-
turbobj is 0, then the objective will not be perturbed. If perturbobj=1, then
the objective function will be perturbed by a default amount. Larger values
of perturbobj (e.g. 100.0) increase the size of the perturbation. This can be
helpful in solving some difficult problems.
.TP
.B fastmode
determines whether or not CSDP will skip certain time consuming operations that slightly
improve the accuracy of the solutions. If fastmode is set to 1, then CSDP may
be somewhat faster, but also somewhat less accurate.
.PP
.SH SEE ALSO
.BR dsdp5 (1), theta (1)
.TP
The programs are documented fully in the accompanying .pdf  documentation
which can be found in
.B /usr/share/doc/coinor-csdp-doc
if the coinor-csdp-doc package is installed.
.SH AUTHOR
csdp was written by Brian Borchers et al.
.PP
This manual page was written by Soeren Sonnenburg <sonne@debian.org>,
for the Debian project (but may be used by others).
